package com.wenwu.common.page;

import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
/**
 * @project ATHome-Manager
 * @class PageUtils.java
 * @author zhujiagui E-mail:<zhujiagui@zkingsoft.com>
 * @date 2015年2月10日 下午3:03:02
 * @description 分页信息处理类
 */
public class PageUtils {
	
	private PageUtils() {
		
	}
	
	/**
	 * 获取分页 和 排序信息
	 */
	public static PaginationVO getPaginationInfo(HttpServletRequest request) {
		PaginationVO pageVO = new PaginationVO();
		String strPageSize = request.getParameter("pageSize");
		if (strPageSize != null) {
			pageVO.setPageSize(Integer.valueOf(strPageSize));
		}
		String pageIndex = request.getParameter("pageIndex");
		if (pageIndex != null) {
			pageVO.setPageIndex(Integer.valueOf(pageIndex));
		}
		// 每页的启始记录数
		pageVO.setPageIndex(pageVO.getPageIndex() * pageVO.getPageSize());
		/**
		 * 获取排序字段和方向
		 */
		pageVO.setSortField(ToLowerCase.toLowerCase(request.getParameter("sortField")));
		pageVO.setSortOrder(request.getParameter("sortOrder"));
		return pageVO;
	}
	
	/**
	 * @Title: encodeToUTF8 
	 * @Description: 将iso-8895-1转换为UTF-8
	 * @param s
	 * @return
	 * @throws UnsupportedEncodingException
	 * @author yuanxf
	 * @date 2015年3月22日下午5:42:57
	 */
	public static String encodeToUTF8(String s) throws UnsupportedEncodingException {
		return new String(s.getBytes("iso-8859-1"), "UTF-8");
	}
	
	/**
	 * @Title: getUrl 
	 * @Description: 对分页标签传入的路径进行处理
	 * @author yuanxf
	 * @date 2015年3月22日下午7:37:06
	 * @param req
	 * @return
	 */
	public static String getUrl(HttpServletRequest req) {
		String path = req.getRequestURI();
		int pathIndex = path.indexOf("?");
		if (pathIndex > -1) {
			path = path.substring(0, pathIndex);
		}
		String params = req.getQueryString();
		if(StringUtils.isNotBlank(params)) {
			int index = params.indexOf("&pageIndex");
			if(index > -1) {
				params = params.substring(0, index);
			} else {
				index = params.indexOf("pageIndex");
				if(index > -1) {
					params = params.substring(0, index);
				}
			}
			
			if(StringUtils.isNotBlank(params)) {
				path += "?" + params;
			}
		}
		
		return path;
	}
	
}
